﻿#region Using Statements

#endregion

namespace DirectZZT.Shared.World.Objects
{
    /// <summary>
    /// Defines a means for <see cref="BoardObject"/>s that represent items that can be picked up.
    /// </summary>
    public interface IItemBoardObject
    {
        /// <summary>
        /// Determines whether or not the specified <see cref="BoardObject"/> can pickup this item.
        /// </summary>
        /// <param name="obj">The <see cref="BoardObject"/> that is about picking us up.</param>
        /// <returns>Whether or not the specified <see cref="BoardObject"/> can pickup this item.</returns>
        bool CanPickup(BoardObject obj);

        /// <summary>
        /// Called when the specified <see cref="BoardObject"/> picks up this item.
        /// </summary>
        /// <param name="obj">The <see cref="BoardObject"/> that picked us up.</param>
        void OnPickup(BoardObject obj);
    }
}
